#include <iostream>
#include <gtest/gtest.h>
#include <unordered_map>

class MyTest : public testing::Test
{
public:
    static void SetUpTestCase()
    {
        std::cout << "所有单元测试前执行,初始化总环境\n";
        //假设有个全局的测试数据容器，就可以在这里插入公共的数据
    }

    void SetUp() override
    {
        //在这里插入每个单元测试所需的独立测试数据
    }

    void TearDown() override
    {
        
    }

    static void TearDownTestCase()
    {
         std::cout << "所有单元测试后执行,清理总环境\n";
    }
    std::unordered_map<std::string,std::string> _mymap;
    //每个单元测试的mymap都不同，因此第二个次数是会FAILED的
private:
    
};

TEST_F(MyTest,insert_test)
{
    _mymap.insert(std::make_pair("hello","你好"));
    _mymap.insert(std::make_pair("bye","再见"));
}
TEST_F(MyTest,size_test)
{
    ASSERT_EQ(_mymap.size(),2);
}

int main(int argc,char* argv[])
{
    testing::InitGoogleTest(&argc,argv);
    RUN_ALL_TESTS();
    return 0;
}
